package top.kiterunner.learning.online_exam;

import java.util.Scanner;

/**
 * AdorynZhao in Tencent-UESTC.
 * Source Code Created on 2017/7/31.
 * 阿里内推Java工程师编程测评题目
 * 题目：
 * 小猴子下山，沿着下山的路有一排桃树，每棵树都结了一些桃子。小猴子想摘桃子，但是有一些条件需要遵守，
 * 小猴子只能沿着下山的方向走，不能回头，每棵树最多摘一个，而且一旦摘了一棵树的桃子，就不能再摘比这棵树
 * 结的桃子少地树上的桃子。那么小猴子最多能摘到几颗桃子呢？
 * 举例说明：五棵树，分别结了10,4,5,12,8，那么小猴子最多摘3颗，来自于4,5,8。
 */
public class AliMonkey {

    public static int maxLenSubSeq(int[] seq, int len) {
        int[] tmp = new int[len];
        int maxlen = 0;
        tmp[0] = 1;
        for (int i = 1; i < len; i++) {
            tmp[i] = 1;
            for (int j = 0; j < i; j++) {
                if (seq[i] > seq[j] && tmp[j] + 1 > tmp[i])
                    tmp[i] = tmp[j] + 1;
            }
            if (maxlen < tmp[i])
                maxlen = tmp[i];
        }

        return maxlen;
    }

    public static void main(String[] args) {
        int count = 0;
        Scanner scanner = new Scanner(System.in);
        count = scanner.nextInt();

        int[] input = new int[count];
        for (int i = 0; i < count; i++) {
            input[i] = scanner.nextInt();
        }

        int ret = maxLenSubSeq(input, count);

        System.out.println(ret);
    }
}
